package org.jflame.auth.authz;

/**
 * 权限抽象父类.
 * 
 * @author charles.zhang
 */
public abstract class Permit {

    private String name;

    /**
     * 访问权限判断,如果此当前实例包含指定Permission参数所描述的所有功能或资源访问，则返回true，否则返回false。
     * 
     * @param p
     * @return
     */
    public abstract boolean implies(Permit p);

    /**
     * 权限名称或标识
     * 
     * @return
     */
    public String getName() {
        return name;
    }

    public void setName(String _name) {
        name = _name;
    }

}
